﻿
namespace Kyoh.Lib.Excel
{
    /// <summary>グラフまたはワークシート内のタブを表します。</summary>
    public class Tab : Component
    {
        private Tab(object obj, Component parent)
            : base(obj, parent) { }

        /// <summary>Excel COM オブジェクトで、新しいインスタンスを初期化します。</summary>
        /// <param name="obj">Excel COM オブジェクト</param>
        /// <param name="parent">親となる <see cref="Component"/> オブジェクト。</param>
        internal static Tab Create(object obj, Component parent)
        {
            return obj == null ? null : new Tab(obj, parent);
        }

        /// <summary>タブの色を取得・設定します。</summary>
        public VbColor Color
        {
            get { return VbColor.FromInteger((int)(double)base.GetProperty("Color")); }
            set { base.SetProperty("Color", value.ToInteger()); }
        }

        /// <summary>タブの色をインデックスで取得・設定します。</summary>
        public int ColorIndex
        {
            get { return (int)base.GetProperty("ColorIndex"); }
            set { base.SetProperty("ColorIndex", value); }
        }

        /// <summary>タブの色をテーマ色で取得・設定します。</summary>
        public ThemeColor ThemeColor
        {
            get { return (ThemeColor)(int)base.GetProperty("ThemeColor"); }
            set { base.SetProperty("ThemeColor", (int)value); }
        }

        /// <summary>タブの色の明度を取得・設定します。</summary>
        public float TintAndShade
        {
            get { return (float)base.GetProperty("TintAndShade"); }
            set { base.SetProperty("TintAndShade", value); }
        }
    }
}
